package com.hzp.micromall.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hzp.micromall.admin.dto.UmsMenuNode;
import com.hzp.micromall.admin.entity.UmsMenu;
import com.hzp.micromall.common.core.api.CommonPage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author houzipeng
 * @Date 2022/2/25 10:09
 * @Version 1.0
 * 后台菜单管理
 */
public interface UmsMenuService {
    /**
     * 创建后台菜单
     */
    int createMenu(UmsMenu umsMenu);

    /**
     * 修改后台菜单
     */
    int updateMenuById(Long id, UmsMenu umsMenu);

    /**
     * 根据ID获取菜单详情
     */
    UmsMenu getMenuDetail(Long id);

    /**
     * 根据ID删除菜单
     */
    int deleteMenuById(Long id);

    /**
     * 分页查询后台菜单
     */
    CommonPage<UmsMenu> getMenuPageList(Long parentId, Integer pageSize, Integer pageNum);

    /**
     * 树形结构返回所有菜单列表
     */
    List<UmsMenuNode> getTreeMenuList();

    /**
     * 修改菜单显示状态
     */
    int updateMenuHidden(Long id, Integer hidden);
}
